package cn.jobstart.search;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import cn.jobstart.pubInter.BaseSearch;
import cn.jobstart.model.DouyinAccount;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import lombok.Data;
/**
*   @author xy
*   @Date 2024-01-08 10:38:28
*   @description DouyinAccountSearch      抖音客户账号
*/


@Data
@ApiModel("抖音客户账号DouyinAccountSearch")
public abstract class DouyinAccountSearch<Sub extends DouyinAccountSearch<Sub>> extends BaseSearch {
    @ApiModelProperty(value = "主键")
    private List idIn;
    @ApiModelProperty(value = "大于排序")
    private Integer sortNumGreater;
    @ApiModelProperty(value = "小于排序")
    private Integer sortNumLess;
    @ApiModelProperty(value = "是否显示 1:是:Y,0:否:N")
    private List showFlagIn;
    @ApiModelProperty(value = "是否删除 1:删除:Y,0:正常:N")
    private Integer delFlagEq=0;
    @ApiModelProperty(value = "版本")
    private Integer versionEq;
    @ApiModelProperty(value = "三方调用凭证(有效期15天)")
    private String daAccessTokenEq;
    @ApiModelProperty(value = "刷新refresh_token(只能刷新5次，每次有效期30天) ")
    private String daRefreshTokenEq;
    @ApiModelProperty(value = "client_token 用于不需要用户授权就可以调用的接口，大家都一样")
    private String daClientTokenEq;
    @ApiModelProperty(value = "账号名称")
    private String daUsernameEq;
    @ApiModelProperty(value = "账号状态 0:正常:normal,1:失效:invaild")
    private List daStatusIn;
    @ApiModelProperty(value = "手机号")
    private String daMobileEq;
    @ApiModelProperty(value = "授权用户唯一标识(移动端)")
    private String daMobileOpenIdEq;
    @ApiModelProperty(value = "添加员工ID")
    private String daAdminIdEq;
    @ApiModelProperty(value = "添加员工姓名")
    private String daAdminTruenameLike;

    public DouyinAccountSearch() {
        setDelFlagEq(0);
    }



    /**
    * 返回子类Sub
    * @return
    */
    public abstract Sub getSubThis();

    @Override
    public String createTimeFiled() {
        return DouyinAccount.CREATE_TIME;
    }
    @Override
    public String updateTimeFiled() {
        return DouyinAccount.UPDATE_TIME;
    }
    @Override
    public String  setDefaultField() {
        return DouyinAccount.CREATE_TIME;
    }
    @Override
    public String pkField() {
        return DouyinAccount.ID;
    }

    @Override
    public String  toString() {
        return "DouyinAccountSearch{}"+super.toString();
    }
    public Sub setIdIn(List idIn){
        this.idIn = idIn;
        setInField(DouyinAccount.ID, idIn);
        return getSubThis();
    }
    public Sub setSortNumGreater(Integer sortNumGreater){
        this.sortNumGreater = sortNumGreater;
        setGreaterField(DouyinAccount.SORT_NUM, sortNumGreater);
        return getSubThis();
    }
    public Sub setSortNumLess(Integer sortNumLess){
        this.sortNumLess = sortNumLess;
        setLessField(DouyinAccount.SORT_NUM, sortNumLess);
        return getSubThis();
    }
    public Sub setShowFlagIn(List showFlagIn){
        this.showFlagIn = showFlagIn;
        setInField(DouyinAccount.SHOW_FLAG, showFlagIn);
        return getSubThis();
    }
    public Sub setDelFlagEq(Integer delFlagEq){
        this.delFlagEq = delFlagEq;
        setEqualField(DouyinAccount.DEL_FLAG, delFlagEq);
        return getSubThis();
    }
    public Sub setVersionEq(Integer versionEq){
        this.versionEq = versionEq;
        setEqualField(DouyinAccount.VERSION, versionEq);
        return getSubThis();
    }
    public Sub setDaAccessTokenEq(String daAccessTokenEq){
        this.daAccessTokenEq = daAccessTokenEq;
        setEqualField(DouyinAccount.DA_ACCESS_TOKEN, daAccessTokenEq);
        return getSubThis();
    }
    public Sub setDaRefreshTokenEq(String daRefreshTokenEq){
        this.daRefreshTokenEq = daRefreshTokenEq;
        setEqualField(DouyinAccount.DA_REFRESH_TOKEN, daRefreshTokenEq);
        return getSubThis();
    }
    public Sub setDaClientTokenEq(String daClientTokenEq){
        this.daClientTokenEq = daClientTokenEq;
        setEqualField(DouyinAccount.DA_CLIENT_TOKEN, daClientTokenEq);
        return getSubThis();
    }
    public Sub setDaUsernameEq(String daUsernameEq){
        this.daUsernameEq = daUsernameEq;
        setEqualField(DouyinAccount.DA_USERNAME, daUsernameEq);
        return getSubThis();
    }
    public Sub setDaStatusIn(List daStatusIn){
        this.daStatusIn = daStatusIn;
        setInField(DouyinAccount.DA_STATUS, daStatusIn);
        return getSubThis();
    }
    public Sub setDaMobileEq(String daMobileEq){
        this.daMobileEq = daMobileEq;
        setEqualField(DouyinAccount.DA_MOBILE, daMobileEq);
        return getSubThis();
    }
    public Sub setDaMobileOpenIdEq(String daMobileOpenIdEq){
        this.daMobileOpenIdEq = daMobileOpenIdEq;
        setEqualField(DouyinAccount.DA_MOBILE_OPEN_ID, daMobileOpenIdEq);
        return getSubThis();
    }
    public Sub setDaAdminIdEq(String daAdminIdEq){
        this.daAdminIdEq = daAdminIdEq;
        setEqualField(DouyinAccount.DA_ADMIN_ID, daAdminIdEq);
        return getSubThis();
    }
    public Sub setDaAdminTruenameLike(String daAdminTruenameLike){
        this.daAdminTruenameLike = daAdminTruenameLike;
        setLikeField(DouyinAccount.DA_ADMIN_TRUENAME, daAdminTruenameLike);
        return getSubThis();
    }
}